# This should match the schema defined in external_deps.bzl.

PROTOBUF_VERSION = "29.3"

# These names of these deps *must* match the names used in `/bazel/protobuf.patch`,
# and both must match the names from the protobuf releases (see
# https://github.com/protocolbuffers/protobuf/releases).
# The names change in upcoming versions.
# The shas are calculated from the downloads on the releases page.
PROTOC_VERSIONS = dict(
    linux_aarch_64 = "6427349140e01f06e049e707a58709a4f221ae73ab9a0425bc4a00c8d0e1ab32",
    linux_x86_64 = "3e866620c5be27664f3d2fa2d656b5f3e09b5152b42f1bedbf427b333e90021a",
    linux_ppcle_64 = "0e9894ec2e3992b14d183e7ceac16465d6a6ee73e1d234695d80e6d1e947014c",
    osx_aarch_64 = "2b8a3403cd097f95f3ba656e14b76c732b6b26d7f183330b11e36ef2bc028765",
    osx_x86_64 = "9a788036d8f9854f7b03c305df4777cf0e54e5b081e25bf15252da87e0e90875",
    win64 = "57ea59e9f551ad8d71ffaa9b5cfbe0ca1f4e720972a1db7ec2d12ab44bff9383",
)

REPOSITORY_LOCATIONS_SPEC = dict(
    bazel_compdb = dict(
        project_name = "bazel-compilation-database",
        project_desc = "Clang JSON compilation database support for Bazel",
        project_url = "https://github.com/grailbio/bazel-compilation-database",
        version = "40864791135333e1446a04553b63cbe744d358d0",
        sha256 = "acd2a9eaf49272bb1480c67d99b82662f005b596a8c11739046a4220ec73c4da",
        strip_prefix = "bazel-compilation-database-{version}",
        urls = ["https://github.com/grailbio/bazel-compilation-database/archive/{version}.tar.gz"],
        release_date = "2022-09-06",
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/grailbio/bazel-compilation-database/blob/{version}/LICENSE",
    ),
    bazel_features = dict(
        project_name = "Bazel features",
        project_desc = "Support Bazel feature detection from starlark",
        project_url = "https://github.com/bazel-contrib/bazel_features",
        version = "1.28.0",
        sha256 = "2f057dd02098a106095ea291b4344257398a059eadb2c74cc470de0f9664dccd",
        urls = ["https://github.com/bazel-contrib/bazel_features/releases/download/v{version}/bazel_features-v{version}.tar.gz"],
        strip_prefix = "bazel_features-{version}",
        release_date = "2025-04-10",
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazel-contrib/bazel_features/blob/v{version}/LICENSE",
    ),
    bazel_gazelle = dict(
        project_name = "Gazelle",
        project_desc = "Bazel BUILD file generator for Go projects",
        project_url = "https://github.com/bazelbuild/bazel-gazelle",
        version = "0.43.0",
        sha256 = "7c40b746387cd0c9a4d5bb0b2035abd134b3f7511015710a5ee5e07591008dde",
        urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/v{version}/bazel-gazelle-v{version}.tar.gz"],
        release_date = "2025-04-15",
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/bazel-gazelle/blob/v{version}/LICENSE",
    ),
    bazel_toolchains = dict(
        project_name = "bazel-toolchains",
        project_desc = "Bazel toolchain configs for RBE",
        project_url = "https://github.com/bazelbuild/bazel-toolchains",
        version = "5.1.2",
        sha256 = "02e4f3744f1ce3f6e711e261fd322916ddd18cccd38026352f7a4c0351dbda19",
        strip_prefix = "bazel-toolchains-{version}",
        urls = [
            "https://github.com/bazelbuild/bazel-toolchains/archive/v{version}.tar.gz",
        ],
        release_date = "2022-08-09",
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/bazel-toolchains/blob/v{version}/LICENSE",
    ),
    build_bazel_rules_apple = dict(
        project_name = "Apple Rules for Bazel",
        project_desc = "Bazel rules for Apple platforms",
        project_url = "https://github.com/bazelbuild/rules_apple",
        version = "3.20.1",
        sha256 = "73ad768dfe824c736d0a8a81521867b1fb7a822acda2ed265897c03de6ae6767",
        urls = ["https://github.com/bazelbuild/rules_apple/releases/download/{version}/rules_apple.{version}.tar.gz"],
        release_date = "2025-03-14",
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_apple/blob/{version}/LICENSE",
    ),
    com_github_bazelbuild_buildtools = dict(
        project_name = "Bazel build tools",
        project_desc = "Developer tools for working with Google's bazel buildtool.",
        project_url = "https://github.com/bazelbuild/buildtools",
        version = "8.0.3",
        sha256 = "573345c2039889a4001b9933a7ebde8dcaf910c47787993aecccebc3117a4425",
        release_date = "2025-02-05",
        strip_prefix = "buildtools-{version}",
        urls = ["https://github.com/bazelbuild/buildtools/archive/v{version}.tar.gz"],
        use_category = ["test_only"],
    ),
    envoy_examples = dict(
        project_name = "envoy_examples",
        project_desc = "Envoy proxy examples",
        project_url = "https://github.com/envoyproxy/examples",
        version = "0.0.11",
        sha256 = "82f588152fb74da660872402faa3082b17a4b1bbdd172033dc12448f03b4bb69",
        strip_prefix = "examples-{version}",
        urls = ["https://github.com/envoyproxy/examples/archive/v{version}.tar.gz"],
        use_category = ["test_only"],
        release_date = "2025-03-24",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/envoyproxy/examples/blob/v{version}/LICENSE",
    ),
    rules_fuzzing = dict(
        project_name = "Fuzzing Rules for Bazel",
        project_desc = "Bazel rules for fuzz tests",
        project_url = "https://github.com/bazelbuild/rules_fuzzing",
        # Patch contains workaround for https://github.com/bazelbuild/rules_python/issues/1221
        version = "0.5.3",
        sha256 = "08274422c4383416df5f982943e40d58141f749c09008bb780440eece6b113e4",
        strip_prefix = "rules_fuzzing-{version}",
        urls = ["https://github.com/bazelbuild/rules_fuzzing/archive/v{version}.tar.gz"],
        release_date = "2025-02-18",
        use_category = ["test_only"],
        implied_untracked_deps = [
            # This is a repository rule generated to define an OSS-Fuzz fuzzing
            # engine target from the CFLAGS/CXXFLAGS environment.
            "rules_fuzzing_oss_fuzz",
        ],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_fuzzing/blob/v{version}/LICENSE",
    ),
    boringssl = dict(
        project_name = "BoringSSL",
        project_desc = "Minimal OpenSSL fork",
        project_url = "https://github.com/google/boringssl",
        # To update BoringSSL, which tracks Chromium releases:
        # 1. Open https://chromiumdash.appspot.com/releases?platform=Linux and find the latest Stable release.
        # 2. In the info for that release, open the "Branch Base Commit" link, then open DEPS, and use the <boringssl_revision>.
        #
        # chromium-135.0.7049.84 (linux/stable)
        version = "673e61fc215b178a90c0e67858bbf162c8158993",
        sha256 = "5f84f1d01a278a5cadf51acc11a0c4519f2f57277cff33d154917083c68463b4",
        strip_prefix = "boringssl-{version}",
        urls = ["https://github.com/google/boringssl/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2025-02-28",
        cpe = "cpe:2.3:a:google:boringssl:*",
        license = "Mixed",
        license_url = "https://github.com/google/boringssl/blob/{version}/LICENSE",
    ),
    aws_lc = dict(
        project_name = "AWS libcrypto (AWS-LC)",
        project_desc = "OpenSSL compatible general-purpose crypto library",
        project_url = "https://github.com/aws/aws-lc",
        version = "1.50.1",
        sha256 = "d6b4ab11372e3421f73826266bd9fbeb84184acd5ddd51b8f23949d82847e686",
        strip_prefix = "aws-lc-{version}",
        urls = ["https://github.com/aws/aws-lc/archive/v{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2025-04-30",
        cpe = "cpe:2.3:a:google:boringssl:*",
    ),
    aspect_bazel_lib = dict(
        project_name = "Aspect Bazel helpers",
        project_desc = "Base Starlark libraries and basic Bazel rules which are useful for constructing rulesets and BUILD files",
        project_url = "https://github.com/aspect-build/bazel-lib",
        version = "2.14.0",
        sha256 = "6667b900fbb18c392142f5b48ad26558ee2878d60ba5ec797e973631a80ddf01",
        strip_prefix = "bazel-lib-{version}",
        urls = ["https://github.com/aspect-build/bazel-lib/archive/v{version}.tar.gz"],
        use_category = ["build"],
        release_date = "2025-03-04",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/aspect-build/bazel-lib/blob/v{version}/LICENSE",
    ),
    com_google_absl = dict(
        project_name = "Abseil",
        project_desc = "Open source collection of C++ libraries drawn from the most fundamental pieces of Google’s internal codebase",
        project_url = "https://abseil.io/",
        version = "20250127.1",
        sha256 = "b396401fd29e2e679cace77867481d388c807671dc2acc602a0259eeb79b7811",
        strip_prefix = "abseil-cpp-{version}",
        urls = ["https://github.com/abseil/abseil-cpp/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-03-18",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/abseil/abseil-cpp/blob/{version}/LICENSE",
    ),
    com_github_aignas_rules_shellcheck = dict(
        project_name = "Shellcheck rules for bazel",
        project_desc = "Now you do not need to depend on the system shellcheck version in your bazel-managed (mono)repos.",
        project_url = "https://github.com/aignas/rules_shellcheck",
        version = "0.3.3",
        sha256 = "936ece8097b734ac7fab10f833a68f7d646b4bc760eb5cde3ab17beb85779d50",
        strip_prefix = "rules_shellcheck-{version}",
        urls = ["https://github.com/aignas/rules_shellcheck/archive/{version}.tar.gz"],
        release_date = "2024-02-15",
        use_category = ["build"],
        cpe = "N/A",
        license = "MIT",
        license_url = "https://github.com/aignas/rules_shellcheck/blob/{version}/LICENSE",
    ),
    com_github_awslabs_aws_c_auth = dict(
        project_name = "aws-c-auth",
        project_desc = "C99 library implementation of AWS client-side authentication: standard credentials providers and signing",
        project_url = "https://github.com/awslabs/aws-c-auth",
        version = "0.9.0",
        sha256 = "aa6e98864fefb95c249c100da4ae7aed36ba13a8a91415791ec6fad20bec0427",
        strip_prefix = "aws-c-auth-{version}",
        urls = ["https://github.com/awslabs/aws-c-auth/archive/refs/tags/v{version}.tar.gz"],
        use_category = ["test_only"],
        extensions = [
            "envoy.filters.http.aws_request_signing",
        ],
        release_date = "2025-03-25",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/awslabs/aws-c-auth/blob/v{version}/LICENSE",
    ),
    com_github_axboe_liburing = dict(
        project_name = "liburing",
        project_desc = "C helpers to set up and tear down io_uring instances",
        project_url = "https://github.com/axboe/liburing",
        version = "2.9",
        sha256 = "897b1153b55543e8b92a5a3eb9b906537a5fedcf8afaf241f8b8787940c79f8d",
        strip_prefix = "liburing-liburing-{version}",
        urls = ["https://github.com/axboe/liburing/archive/liburing-{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-02-03",
        cpe = "N/A",
    ),
    # This dependency is built only when performance tracing is enabled with the
    # option --define=perf_tracing=enabled. It's never built for releases.
    com_github_google_perfetto = dict(
        project_name = "Perfetto",
        project_desc = "Perfetto Tracing SDK",
        project_url = "https://perfetto.dev/",
        version = "49.0",
        sha256 = "0871a92a162ac5655b7d724f9359b15a75c4e92472716edbc4227a64a4680be4",
        strip_prefix = "perfetto-{version}/sdk",
        urls = ["https://github.com/google/perfetto/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-01-07",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/google/perfetto/blob/v{version}/LICENSE",
    ),
    com_github_c_ares_c_ares = dict(
        project_name = "c-ares",
        project_desc = "C library for asynchronous DNS requests",
        project_url = "https://c-ares.haxx.se/",
        version = "1.34.5",
        sha256 = "7d935790e9af081c25c495fd13c2cfcda4792983418e96358ef6e7320ee06346",
        strip_prefix = "c-ares-{version}",
        urls = ["https://github.com/c-ares/c-ares/releases/download/v{version}/c-ares-{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-04-08",
        cpe = "cpe:2.3:a:c-ares_project:c-ares:*",
        license = "c-ares",
        license_url = "https://github.com/c-ares/c-ares/blob/cares-{underscore_version}/LICENSE.md",
    ),
    com_github_openhistogram_libcircllhist = dict(
        project_name = "libcircllhist",
        project_desc = "An implementation of OpenHistogram log-linear histograms",
        project_url = "https://github.com/openhistogram/libcircllhist",
        version = "39f9db724a81ba78f5d037f1cae79c5a07107c8e",
        sha256 = "fd2492f6cc1f8734f8f57be8c2e7f2907e94ee2a4c02445ce59c4241fece144b",
        strip_prefix = "libcircllhist-{version}",
        urls = ["https://github.com/openhistogram/libcircllhist/archive/{version}.tar.gz"],
        use_category = ["controlplane", "observability_core", "dataplane_core"],
        release_date = "2019-05-21",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/openhistogram/libcircllhist/blob/{version}/LICENSE",
    ),
    com_github_cyan4973_xxhash = dict(
        project_name = "xxHash",
        project_desc = "Extremely fast hash algorithm",
        project_url = "https://github.com/Cyan4973/xxHash",
        version = "0.8.3",
        sha256 = "aae608dfe8213dfd05d909a57718ef82f30722c392344583d3f39050c7f29a80",
        strip_prefix = "xxHash-{version}",
        urls = ["https://github.com/Cyan4973/xxHash/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2024-12-30",
        cpe = "N/A",
        license = "BSD-2-Clause",
        license_url = "https://github.com/Cyan4973/xxHash/blob/v{version}/LICENSE",
    ),
    com_github_envoyproxy_sqlparser = dict(
        project_name = "C++ SQL Parser Library",
        project_desc = "Forked from Hyrise SQL Parser",
        project_url = "https://github.com/envoyproxy/sql-parser",
        version = "3b40ba2d106587bdf053a292f7e3bb17e818a57f",
        sha256 = "96c10c8e950a141a32034f19b19cdeb1da48fe859cf96ae5e19f894f36c62c71",
        strip_prefix = "sql-parser-{version}",
        urls = ["https://github.com/envoyproxy/sql-parser/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.filters.network.mysql_proxy",
            "envoy.filters.network.postgres_proxy",
        ],
        release_date = "2020-06-10",
        cpe = "N/A",
        license = "MIT",
        license_url = "https://github.com/envoyproxy/sql-parser/blob/{version}/LICENSE",
    ),
    com_github_mirror_tclap = dict(
        project_name = "tclap",
        project_desc = "Small, flexible library that provides a simple interface for defining and accessing command line arguments",
        project_url = "http://tclap.sourceforge.net",
        version = "1.2.5",
        sha256 = "7e87d13734076fa4f626f6144ce9a02717198b3f054341a6886e2107b048b235",
        strip_prefix = "tclap-{version}",
        urls = ["https://github.com/mirror/tclap/archive/v{version}.tar.gz"],
        release_date = "2021-11-01",
        use_category = ["other"],
        cpe = "cpe:2.3:a:tclap_project:tclap:*",
        license = "MIT",
        license_url = "https://github.com/mirror/tclap/blob/v{version}/COPYING",
    ),
    com_github_fmtlib_fmt = dict(
        project_name = "fmt",
        project_desc = "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams",
        project_url = "https://fmt.dev",
        version = "11.2.0",
        sha256 = "203eb4e8aa0d746c62d8f903df58e0419e3751591bb53ff971096eaa0ebd4ec3",
        strip_prefix = "fmt-{version}",
        urls = ["https://github.com/fmtlib/fmt/releases/download/{version}/fmt-{version}.zip"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-05-03",
        cpe = "cpe:2.3:a:fmt:fmt:*",
        license = "fmt",
        license_url = "https://github.com/fmtlib/fmt/blob/{version}/LICENSE",
    ),
    com_github_gabime_spdlog = dict(
        project_name = "spdlog",
        project_desc = "Very fast, header-only/compiled, C++ logging library",
        project_url = "https://github.com/gabime/spdlog",
        version = "1.15.3",
        sha256 = "15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67",
        strip_prefix = "spdlog-{version}",
        urls = ["https://github.com/gabime/spdlog/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-05-09",
        cpe = "N/A",
        license = "MIT",
        license_url = "https://github.com/gabime/spdlog/blob/v{version}/LICENSE",
    ),
    com_github_google_libprotobuf_mutator = dict(
        project_name = "libprotobuf-mutator",
        project_desc = "Library to randomly mutate protobuffers",
        project_url = "https://github.com/google/libprotobuf-mutator",
        version = "1.4",
        sha256 = "445f466ca6f58858bc4893d0f12c433128931376afb23bd4bd02f37fadcc47c0",
        strip_prefix = "libprotobuf-mutator-{version}",
        urls = ["https://github.com/google/libprotobuf-mutator/archive/v{version}.tar.gz"],
        release_date = "2025-02-04",
        use_category = ["test_only"],
        license = "Apache-2.0",
        license_url = "https://github.com/google/libprotobuf-mutator/blob/v{version}/LICENSE",
    ),
    com_github_google_libsxg = dict(
        project_name = "libsxg",
        project_desc = "Signed HTTP Exchange library",
        project_url = "https://github.com/google/libsxg",
        version = "beaa3939b76f8644f6833267e9f2462760838f18",
        sha256 = "082bf844047a9aeec0d388283d5edc68bd22bcf4d32eb5a566654ae89956ad1f",
        strip_prefix = "libsxg-{version}",
        urls = ["https://github.com/google/libsxg/archive/{version}.tar.gz"],
        use_category = ["other"],
        extensions = ["envoy.filters.http.sxg"],
        release_date = "2021-07-08",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/google/libsxg/blob/{version}/LICENSE",
    ),
    com_github_google_tcmalloc = dict(
        project_name = "tcmalloc",
        project_desc = "Fast, multi-threaded malloc implementation",
        project_url = "https://github.com/google/tcmalloc",
        version = "5da4a882003102fba0c0c0e8f6372567057332eb",
        sha256 = "fd92d64d8302f1677570fdff844e8152c314e559a6c788c6bfc3844954d0dabd",
        strip_prefix = "tcmalloc-{version}",
        urls = ["https://github.com/google/tcmalloc/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2024-12-27",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/google/tcmalloc/blob/{version}/LICENSE",
    ),
    com_github_gperftools_gperftools = dict(
        project_name = "gperftools",
        project_desc = "tcmalloc and profiling libraries",
        project_url = "https://github.com/gperftools/gperftools",
        version = "2.10",
        sha256 = "83e3bfdd28b8bcf53222c3798d4d395d52dadbbae59e8730c4a6d31a9c3732d8",
        strip_prefix = "gperftools-{version}",
        urls = ["https://github.com/gperftools/gperftools/releases/download/gperftools-{version}/gperftools-{version}.tar.gz"],
        release_date = "2022-05-31",
        use_category = ["dataplane_core", "controlplane"],
        cpe = "cpe:2.3:a:gperftools_project:gperftools:*",
        license = "BSD-3-Clause",
        license_url = "https://github.com/gperftools/gperftools/blob/gperftools-{version}/COPYING",
    ),
    com_github_grpc_grpc = dict(
        project_name = "gRPC",
        project_desc = "gRPC C core library",
        project_url = "https://grpc.io",
        version = "1.63.2",
        sha256 = "5b5b9c6507ec166ec0e9e82f58280c36544540ecdd818eaab7b8601596b74c9e",
        strip_prefix = "grpc-{version}",
        urls = ["https://github.com/grpc/grpc/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2024-08-02",
        cpe = "cpe:2.3:a:grpc:grpc:*",
        license = "Apache-2.0",
        license_url = "https://github.com/grpc/grpc/blob/v{version}/LICENSE",
    ),
    rules_proto_grpc = dict(
        project_name = "Protobuf and gRPC rules for Bazel",
        project_desc = "Bazel rules for building Protobuf and gRPC code and libraries from proto_library targets",
        project_url = "https://github.com/rules-proto-grpc/rules_proto_grpc",
        version = "4.6.0",
        sha256 = "2a0860a336ae836b54671cbbe0710eec17c64ef70c4c5a88ccfd47ea6e3739bd",
        strip_prefix = "rules_proto_grpc-{version}",
        urls = ["https://github.com/rules-proto-grpc/rules_proto_grpc/releases/download/{version}/rules_proto_grpc-{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.transport_sockets.alts"],
        release_date = "2023-12-14",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/rules-proto-grpc/rules_proto_grpc/blob/{version}/LICENSE",
    ),
    com_github_unicode_org_icu = dict(
        project_name = "ICU Library",
        project_desc = "Development files for International Components for Unicode",
        project_url = "https://github.com/unicode-org/icu",
        # When this is updated, make sure to update the icu.patch patch file and remove
        # all remaining Bazel build artifacts (for example WORKSPACE and BUILD.bazel files)
        # from the icu source code, to prevent Bazel from treating the foreign library
        # as a Bazel project.
        # https://github.com/envoyproxy/envoy/issues/26395
        version = "77-1",
        sha256 = "ded3a96f6b7236d160df30af46593165b9c78a4ec72a414aa63cf50614e4c14e",
        strip_prefix = "icu-release-{version}",
        urls = ["https://github.com/unicode-org/icu/archive/release-{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.language"],
        release_date = "2025-03-13",
        cpe = "N/A",
        license = "ICU",
        license_url = "https://github.com/unicode-org/icu/blob/release-{version}/icu4c/LICENSE",
    ),
    com_github_intel_ipp_crypto_crypto_mb = dict(
        project_name = "libipp-crypto",
        project_desc = "Intel® Integrated Performance Primitives Cryptography",
        project_url = "https://github.com/intel/cryptography-primitives",
        version = "1.1.0",
        sha256 = "b5ae4ac2152a0b6cd43e403e090a27bbff78a1c022e20f56abe46ab40ed49cb1",
        strip_prefix = "cryptography-primitives-{version}",
        urls = ["https://github.com/intel/cryptography-primitives/archive/refs/tags/v{version}.tar.gz"],
        release_date = "2025-02-26",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.tls.key_providers.cryptomb"],
        cpe = "cpe:2.3:a:intel:cryptography_for_intel_integrated_performance_primitives:*",
        license = "Apache-2.0",
        license_url = "https://github.com/intel/cryptography-primitives/blob/ippcp_{version}/LICENSE",
    ),
    com_github_intel_qatlib = dict(
        project_name = "qatlib",
        project_desc = "Intel QuickAssist Technology Library",
        project_url = "https://github.com/intel/qatlib",
        version = "24.02.0",
        sha256 = "ffef9a3a2bd6024b188977411944ec6267da34d40a0c6c1d42c4f59165991176",
        strip_prefix = "qatlib-{version}",
        urls = ["https://github.com/intel/qatlib/archive/refs/tags/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        release_date = "2024-02-20",
        extensions = ["envoy.tls.key_providers.qat", "envoy.compression.qatzip.compressor", "envoy.compression.qatzstd.compressor"],
        cpe = "N/A",
        license = "BSD-3-Clause",
        license_url = "https://github.com/intel/qatlib/blob/{version}/LICENSE",
    ),
    com_github_intel_qatzip = dict(
        project_name = "qatzip",
        project_desc = "Intel QuickAssist Technology QATzip Library",
        project_url = "https://github.com/intel/qatzip",
        version = "1.2.1",
        sha256 = "470c1830fff9eef781eb0b670bb2e92cfabf539f2bcd3509e04eaf5676c604df",
        strip_prefix = "QATzip-{version}",
        urls = ["https://github.com/intel/QATzip/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        release_date = "2025-01-24",
        extensions = ["envoy.compression.qatzip.compressor"],
        cpe = "N/A",
        license = "BSD-3-Clause",
        license_url = "https://github.com/intel/QATzip/blob/v{version}/LICENSE",
    ),
    com_github_qat_zstd = dict(
        project_name = "QAT-ZSTD-Plugin",
        project_desc = "Intel® QuickAssist Technology ZSTD Plugin (QAT ZSTD Plugin)",
        project_url = "https://github.com/intel/QAT-ZSTD-Plugin/",
        version = "0.2.0",
        sha256 = "e42e2ac9aeb01d812f9a3156b3b85df6ee29670a5968b9d231b0139fba97f287",
        strip_prefix = "QAT-ZSTD-Plugin-{version}",
        urls = ["https://github.com/intel/QAT-ZSTD-Plugin/archive/refs/tags/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.compression.qatzstd.compressor",
        ],
        release_date = "2024-08-26",
        cpe = "N/A",
    ),
    com_github_luajit_luajit = dict(
        project_name = "LuaJIT",
        project_desc = "Just-In-Time compiler for Lua",
        project_url = "https://luajit.org",
        # LuaJIT only provides rolling releases
        version = "19878ec05c239ccaf5f3d17af27670a963e25b8b",
        sha256 = "e91acbe181cf6ffa3ef15870b8e620131002240ba24c5c779fd0131db021517f",
        strip_prefix = "LuaJIT-{version}",
        urls = ["https://github.com/LuaJIT/LuaJIT/archive/{version}.tar.gz"],
        release_date = "2024-11-28",
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.filters.http.lua",
            "envoy.router.cluster_specifier_plugin.lua",
            "envoy.string_matcher.lua",
        ],
        cpe = "cpe:2.3:a:luajit:luajit:*",
        license = "MIT",
        license_url = "https://github.com/LuaJIT/LuaJIT/blob/{version}/COPYRIGHT",
    ),
    com_github_nghttp2_nghttp2 = dict(
        project_name = "Nghttp2",
        project_desc = "Implementation of HTTP/2 and its header compression algorithm HPACK in C",
        project_url = "https://nghttp2.org",
        version = "1.65.0",
        sha256 = "8ca4f2a77ba7aac20aca3e3517a2c96cfcf7c6b064ab7d4a0809e7e4e9eb9914",
        strip_prefix = "nghttp2-{version}",
        urls = ["https://github.com/nghttp2/nghttp2/releases/download/v{version}/nghttp2-{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2025-03-02",
        cpe = "cpe:2.3:a:nghttp2:nghttp2:*",
        license = "MIT",
        license_url = "https://github.com/nghttp2/nghttp2/blob/v{version}/LICENSE",
    ),
    io_hyperscan = dict(
        project_name = "Hyperscan",
        project_desc = "High-performance regular expression matching library",
        project_url = "https://hyperscan.io",
        version = "5.4.2",
        sha256 = "32b0f24b3113bbc46b6bfaa05cf7cf45840b6b59333d078cc1f624e4c40b2b99",
        strip_prefix = "hyperscan-{version}",
        urls = ["https://github.com/intel/hyperscan/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.matching.input_matchers.hyperscan",
            "envoy.regex_engines.hyperscan",
        ],
        release_date = "2023-04-19",
        cpe = "N/A",
        license = "BSD-3-Clause",
        license_url = "https://github.com/intel/hyperscan/blob/v{version}/LICENSE",
    ),
    io_vectorscan = dict(
        project_name = "Vectorscan",
        project_desc = "Hyperscan port for additional CPU architectures",
        project_url = "https://www.vectorcamp.gr/vectorscan/",
        version = "5.4.11",
        sha256 = "905f76ad1fa9e4ae0eb28232cac98afdb96c479666202c5a4c27871fb30a2711",
        strip_prefix = "vectorscan-vectorscan-{version}",
        urls = ["https://codeload.github.com/VectorCamp/vectorscan/tar.gz/refs/tags/vectorscan/{version}"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.matching.input_matchers.hyperscan",
            "envoy.regex_engines.hyperscan",
        ],
        release_date = "2023-11-20",
        cpe = "N/A",
        license = "BSD-3-Clause",
        license_url = "https://github.com/VectorCamp/vectorscan/blob/vectorscan/{version}/LICENSE",
    ),
    io_opentelemetry_cpp = dict(
        project_name = "OpenTelemetry",
        project_desc = "Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs.",
        project_url = "https://opentelemetry.io",
        version = "1.20.0",
        sha256 = "4b6eeb852f075133c21b95948017f13a3e21740e55b921d27e42970a47314297",
        strip_prefix = "opentelemetry-cpp-{version}",
        urls = ["https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = [
            "envoy.tracers.opentelemetry",
            "envoy.tracers.opentelemetry.samplers.always_on",
            "envoy.tracers.opentelemetry.samplers.dynatrace",
            "envoy.tracers.opentelemetry.samplers.cel",
            "envoy.tracers.opentelemetry.samplers.parent_based",
            "envoy.tracers.opentelemetry.samplers.trace_id_ratio_based",
        ],
        release_date = "2025-04-01",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/open-telemetry/opentelemetry-cpp/blob/v{version}/LICENSE",
    ),
    skywalking_data_collect_protocol = dict(
        project_name = "skywalking-data-collect-protocol",
        project_desc = "Data Collect Protocols of Apache SkyWalking",
        project_url = "https://github.com/apache/skywalking-data-collect-protocol",
        sha256 = "e4e93723488b32dcdd16c399d7634fb1eb9444f3d54bd7229dc20eaa09bf4d1a",
        urls = ["https://github.com/apache/skywalking-data-collect-protocol/archive/v{version}.tar.gz"],
        strip_prefix = "skywalking-data-collect-protocol-{version}",
        version = "10.2.0",
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.skywalking"],
        release_date = "2025-03-24",
        cpe = "cpe:2.3:a:apache:skywalking:*",
        license = "Apache-2.0",
    ),
    com_github_skyapm_cpp2sky = dict(
        project_name = "cpp2sky",
        project_desc = "C++ SDK for Apache SkyWalking",
        project_url = "https://github.com/SkyAPM/cpp2sky",
        sha256 = "d7e52f517de5a1dc7d927dd63a2e5aa5cf8c2dcfd8fcf6b64e179978daf1c3ed",
        version = "0.6.0",
        strip_prefix = "cpp2sky-{version}",
        urls = ["https://github.com/SkyAPM/cpp2sky/archive/v{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.skywalking"],
        release_date = "2024-08-21",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/SkyAPM/cpp2sky/blob/v{version}/LICENSE",
    ),
    com_github_datadog_dd_trace_cpp = dict(
        project_name = "Datadog C++ Tracing Library",
        project_desc = "Datadog distributed tracing for C++",
        project_url = "https://github.com/DataDog/dd-trace-cpp",
        version = "0.2.2",
        sha256 = "ee524a9b70d39dcfd815b90d9d6fc5599db7989dff072980bff90bae81c4daf7",
        strip_prefix = "dd-trace-cpp-{version}",
        urls = ["https://github.com/DataDog/dd-trace-cpp/archive/v{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.datadog"],
        release_date = "2024-06-21",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/DataDog/dd-trace-cpp/blob/v{version}/LICENSE.md",
    ),
    com_github_google_benchmark = dict(
        project_name = "Benchmark",
        project_desc = "Library to benchmark code snippets",
        project_url = "https://github.com/google/benchmark",
        version = "1.9.3",
        sha256 = "b94263b018042007eb53f79639f21ae47800808c73cf1b7df85622b6e2b1aa32",
        strip_prefix = "benchmark-{version}",
        urls = ["https://github.com/google/benchmark/archive/v{version}.tar.gz"],
        use_category = ["test_only"],
        release_date = "2025-05-07",
        license = "Apache-2.0",
        license_url = "https://github.com/google/benchmark/blob/v{version}/LICENSE",
    ),
    com_github_libevent_libevent = dict(
        project_name = "libevent",
        project_desc = "Event notification library",
        project_url = "https://libevent.org",
        # This SHA includes the new "prepare" and "check" watchers, used for event loop performance
        # stats (see https://github.com/libevent/libevent/pull/793) and the fix for a race condition
        # in the watchers (see https://github.com/libevent/libevent/pull/802).
        # This also includes the fixes for https://github.com/libevent/libevent/issues/806
        # and https://github.com/envoyproxy/envoy-mobile/issues/215.
        # This also includes the fixes for Phantom events with EV_ET (see
        # https://github.com/libevent/libevent/issues/984).
        # This also includes the wepoll backend for Windows (see
        # https://github.com/libevent/libevent/pull/1006)
        # TODO(adip): Update to v2.2 when it is released.
        version = "62c152d9a7cd264b993dad730c4163c6ede2e0a3",
        sha256 = "4c80e5fe044ce5f8055b20a2f141ee32ec2614000f3e95d2aa81611a4c8f5213",
        strip_prefix = "libevent-{version}",
        urls = ["https://github.com/libevent/libevent/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2020-07-28",
        cpe = "cpe:2.3:a:libevent_project:libevent:*",
        license = "BSD-3-Clause",
        license_url = "https://github.com/libevent/libevent/blob/{version}/LICENSE",
    ),
    net_colm_open_source_colm = dict(
        project_name = "Colm",
        project_desc = "The Colm Programming Language",
        project_url = "https://www.colm.net/open-source/colm/",
        # The latest release version v0.14.7 prevents building statically (see
        # https://github.com/adrian-thurston/colm/issues/146). The latest SHA includes the fix (see
        # https://github.com/adrian-thurston/colm/commit/fc61ecb3a22b89864916ec538eaf04840e7dd6b5).
        # TODO(zhxie): Update to the next release version when it is released.
        version = "2d8ba76ddaf6634f285d0a81ee42d5ee77d084cf",
        sha256 = "0399e9bef7603a8f3d94acd0b0af6b5944cc3103e586734719379d3ec09620c0",
        strip_prefix = "colm-{version}",
        urls = ["https://github.com/adrian-thurston/colm/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.matching.input_matchers.hyperscan",
            "envoy.regex_engines.hyperscan",
        ],
        release_date = "2021-12-28",
        cpe = "N/A",
        license = "MIT",
        license_url = "https://github.com/adrian-thurston/colm/blob/{version}/COPYING",
    ),
    net_colm_open_source_ragel = dict(
        project_name = "Ragel",
        project_desc = "Ragel State Machine Compiler",
        project_url = "https://www.colm.net/open-source/ragel/",
        # We used the stable release Ragel 6.10 previously and it is under GPLv2 license (see
        # http://www.colm.net/open-source/ragel). Envoy uses its binary only as a tool for
        # compiling contrib extension Hyperscan. For copyright consideration, we update Ragel to
        # its development release which is under MIT license.
        # The latest release version v7.0.4 is not compatible with its dependency Colm we use. The
        # latest SHA includes fix for compatibility.
        # TODO(zhxie): Update to the next release version when it is released.
        version = "d4577c924451b331c73c8ed0af04f6efd35ac0b4",
        sha256 = "fa3474d50da9c870b79b51ad43f8d11cdf05268f5ec05a602ecd5b1b5f5febb0",
        strip_prefix = "ragel-{version}",
        urls = ["https://github.com/adrian-thurston/ragel/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.matching.input_matchers.hyperscan",
            "envoy.regex_engines.hyperscan",
        ],
        release_date = "2021-12-28",
        cpe = "N/A",
        license = "MIT",
        license_url = "https://github.com/adrian-thurston/ragel/blob/{version}/COPYING",
    ),
    # This should be removed, see https://github.com/envoyproxy/envoy/issues/13261.
    net_zlib = dict(
        project_name = "zlib",
        project_desc = "zlib compression library",
        project_url = "https://zlib.net",
        version = "1.3.1",
        sha256 = "17e88863f3600672ab49182f217281b6fc4d3c762bde361935e436a95214d05c",
        strip_prefix = "zlib-{version}",
        urls = ["https://github.com/madler/zlib/archive/v{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2024-01-22",
        cpe = "cpe:2.3:a:gnu:zlib:*",
        license = "zlib",
        license_url = "https://github.com/madler/zlib/blob/v{version}/zlib.h",
    ),
    org_boost = dict(
        project_name = "Boost",
        project_desc = "Boost C++ source libraries",
        project_url = "https://www.boost.org/",
        version = "1.84.0",
        sha256 = "a5800f405508f5df8114558ca9855d2640a2de8f0445f051fa1c7c3383045724",
        strip_prefix = "boost_{underscore_version}",
        urls = ["https://archives.boost.io/release/{version}/source/boost_{underscore_version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.matching.input_matchers.hyperscan",
            "envoy.regex_engines.hyperscan",
        ],
        release_date = "2023-12-13",
        cpe = "cpe:2.3:a:boost:boost:*",
        license = "Boost",
        license_url = "https://github.com/boostorg/boost/blob/boost-{version}/LICENSE_1_0.txt",
    ),
    org_brotli = dict(
        project_name = "brotli",
        project_desc = "brotli compression library",
        project_url = "https://brotli.org",
        version = "1.1.0",
        sha256 = "e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff",
        strip_prefix = "brotli-{version}",
        urls = ["https://github.com/google/brotli/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.compression.brotli.compressor",
            "envoy.compression.brotli.decompressor",
        ],
        release_date = "2023-08-31",
        cpe = "cpe:2.3:a:google:brotli:*",
        license = "MIT",
        license_url = "https://github.com/google/brotli/blob/v{version}/LICENSE",
    ),
    com_github_facebook_zstd = dict(
        project_name = "zstd",
        project_desc = "zstd compression library",
        project_url = "https://facebook.github.io/zstd",
        version = "1.5.7",
        sha256 = "37d7284556b20954e56e1ca85b80226768902e2edabd3b649e9e72c0c9012ee3",
        strip_prefix = "zstd-{version}",
        urls = ["https://github.com/facebook/zstd/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.compression.zstd.compressor",
            "envoy.compression.zstd.decompressor",
        ],
        release_date = "2025-02-19",
        cpe = "cpe:2.3:a:facebook:zstandard:*",
    ),
    com_github_zlib_ng_zlib_ng = dict(
        project_name = "zlib-ng",
        project_desc = "zlib fork (higher performance)",
        project_url = "https://github.com/zlib-ng/zlib-ng",
        version = "2.2.4",
        sha256 = "a73343c3093e5cdc50d9377997c3815b878fd110bf6511c2c7759f2afb90f5a3",
        strip_prefix = "zlib-ng-{version}",
        urls = ["https://github.com/zlib-ng/zlib-ng/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2025-02-10",
        cpe = "N/A",
        license = "zlib",
        license_url = "https://github.com/zlib-ng/zlib-ng/blob/{version}/LICENSE.md",
    ),
    com_github_jbeder_yaml_cpp = dict(
        project_name = "yaml-cpp",
        project_desc = "YAML parser and emitter in C++ matching the YAML 1.2 spec",
        project_url = "https://github.com/jbeder/yaml-cpp",
        version = "0.8.0",
        sha256 = "fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16",
        strip_prefix = "yaml-cpp-{version}",
        urls = ["https://github.com/jbeder/yaml-cpp/archive/{version}.tar.gz"],
        # YAML is also used for runtime as well as controlplane. It shouldn't appear on the
        # dataplane but we can't verify this automatically due to code structure today.
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2023-08-10",
        cpe = "cpe:2.3:a:yaml-cpp_project:yaml-cpp:*",
        license = "MIT",
        license_url = "https://github.com/jbeder/yaml-cpp/blob/{version}/LICENSE",
    ),
    com_github_msgpack_cpp = dict(
        project_name = "msgpack for C/C++",
        project_desc = "MessagePack is an efficient binary serialization format",
        project_url = "https://github.com/msgpack/msgpack-c",
        version = "6.1.0",
        sha256 = "23ede7e93c8efee343ad8c6514c28f3708207e5106af3b3e4969b3a9ed7039e7",
        strip_prefix = "msgpack-cxx-{version}",
        urls = ["https://github.com/msgpack/msgpack-c/releases/download/cpp-{version}/msgpack-cxx-{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.access_loggers.fluentd", "envoy.tracers.fluentd"],
        release_date = "2023-07-08",
        cpe = "cpe:2.3:a:messagepack:messagepack:*",
        license = "Boost",
        license_url = "https://github.com/msgpack/msgpack-c/blob/cpp-{version}/LICENSE_1_0.txt",
    ),
    com_github_google_jwt_verify = dict(
        project_name = "jwt_verify_lib",
        project_desc = "JWT verification library for C++",
        project_url = "https://github.com/google/jwt_verify_lib",
        version = "b59e8075d4a4f975ba6f109e1916d6e60aeb5613",
        sha256 = "637e4983506c4f26bbe2808ae4e1944e46cbb2277d34ff0b8a3b72bdac3c4b91",
        strip_prefix = "jwt_verify_lib-{version}",
        urls = ["https://github.com/google/jwt_verify_lib/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.jwt_authn", "envoy.filters.http.gcp_authn", "envoy.filters.http.oauth2"],
        release_date = "2023-05-17",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/google/jwt_verify_lib/blob/{version}/LICENSE",
    ),
    com_github_alibaba_hessian2_codec = dict(
        project_name = "hessian2-codec",
        project_desc = "hessian2-codec is a C++ library for hessian2 codec",
        project_url = "https://github.com/alibaba/hessian2-codec.git",
        version = "6f5a64770f0374a761eece13c8863b80dc5adcd8",
        sha256 = "bb4c4af6a7e3031160bf38dfa957b0ee950e2d8de47d4ba14c7a658c3a2c74d1",
        strip_prefix = "hessian2-codec-{version}",
        urls = ["https://github.com/alibaba/hessian2-codec/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.network.dubbo_proxy", "envoy.filters.network.generic_proxy", "envoy.generic_proxy.codecs.dubbo"],
        release_date = "2025-01-14",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/alibaba/hessian2-codec/blob/{version}/LICENSE",
    ),
    com_github_nlohmann_json = dict(
        project_name = "nlohmann JSON",
        project_desc = "Fast JSON parser/generator for C++",
        project_url = "https://nlohmann.github.io/json",
        version = "3.12.0",
        sha256 = "4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187",
        strip_prefix = "json-{version}",
        urls = ["https://github.com/nlohmann/json/archive/v{version}.tar.gz"],
        # This has replaced rapidJSON used in extensions and may also be a fast
        # replacement for protobuf JSON.
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2025-04-11",
        cpe = "cpe:2.3:a:json-for-modern-cpp_project:json-for-modern-cpp:*",
        license = "MIT",
        license_url = "https://github.com/nlohmann/json/blob/v{version}/LICENSE.MIT",
    ),
    # This is an external dependency needed while running the
    # envoy docker image. A bazel target has been created since
    # there is no binary package available for the utility on Ubuntu
    # which is the base image used to build an envoy container.
    # This is not needed to build an envoy binary or run tests.
    com_github_ncopa_suexec = dict(
        project_name = "su-exec",
        project_desc = "Utility to switch user and group id, setgroups and exec",
        project_url = "https://github.com/ncopa/su-exec",
        version = "212b75144bbc06722fbd7661f651390dc47a43d1",
        sha256 = "939782774079ec156788ea3e04dd5e340e993544f4296be76a9c595334ca1779",
        strip_prefix = "su-exec-{version}",
        urls = ["https://github.com/ncopa/su-exec/archive/{version}.tar.gz"],
        use_category = ["other"],
        release_date = "2019-09-18",
        cpe = "N/A",
        license = "MIT",
        license_url = "https://github.com/ncopa/su-exec/blob/{version}/LICENSE",
    ),
    com_google_googletest = dict(
        project_name = "Google Test",
        project_desc = "Google's C++ test framework",
        project_url = "https://github.com/google/googletest",
        version = "1.17.0",
        sha256 = "65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c",
        strip_prefix = "googletest-{version}",
        urls = ["https://github.com/google/googletest/releases/download/v{version}/googletest-{version}.tar.gz"],
        release_date = "2025-04-30",
        use_category = ["test_only"],
        cpe = "cpe:2.3:a:google:google_test:*",
        license = "BSD-3-Clause",
        license_url = "https://github.com/google/googletest/blob/{version}/LICENSE",
    ),
    com_google_protobuf = dict(
        project_name = "Protocol Buffers",
        project_desc = "Language-neutral, platform-neutral extensible mechanism for serializing structured data",
        project_url = "https://developers.google.com/protocol-buffers",
        version = PROTOBUF_VERSION,
        # When upgrading the protobuf library, please re-run
        # test/common/json:gen_excluded_unicodes to recompute the ranges
        # excluded from differential fuzzing that are populated in
        # test/common/json/json_sanitizer_test_util.cc.
        sha256 = "008a11cc56f9b96679b4c285fd05f46d317d685be3ab524b2a310be0fbad987e",
        strip_prefix = "protobuf-{version}",
        urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protobuf-{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2025-01-08",
        cpe = "cpe:2.3:a:google:protobuf:*",
        license = "Protocol Buffers",
        license_url = "https://github.com/protocolbuffers/protobuf/blob/v{version}/LICENSE",
    ),
    grpc_httpjson_transcoding = dict(
        project_name = "grpc-httpjson-transcoding",
        project_desc = "Library that supports transcoding so that HTTP/JSON can be converted to gRPC",
        project_url = "https://github.com/grpc-ecosystem/grpc-httpjson-transcoding",
        version = "a6e226f9a2e656a973df3ad48f0ee5efacce1a28",
        sha256 = "45dc1a630f518df21b4e044e32b27c7b02ae77ef401b48a20e5ffde0f070113f",
        strip_prefix = "grpc-httpjson-transcoding-{version}",
        urls = ["https://github.com/grpc-ecosystem/grpc-httpjson-transcoding/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.grpc_json_transcoder", "envoy.filters.http.grpc_field_extraction", "envoy.filters.http.proto_message_extraction", "envoy.filters.http.grpc_json_reverse_transcoder"],
        release_date = "2025-05-07",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/grpc-ecosystem/grpc-httpjson-transcoding/blob/{version}/LICENSE",
    ),
    com_google_protoconverter = dict(
        project_name = "proto-converter",
        project_desc = "Library that supports the conversion between protobuf binary and json",
        project_url = "https://github.com/grpc-ecosystem/proto-converter",
        version = "1db76535b86b80aa97489a1edcc7009e18b67ab7",
        sha256 = "9555d9cf7bd541ea5fdb67d7d6b72ea44da77df3e27b960b4155dc0c6b81d476",
        strip_prefix = "proto-converter-{version}",
        urls = ["https://github.com/grpc-ecosystem/proto-converter/archive/{version}.zip"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.grpc_json_transcoder", "envoy.filters.http.grpc_field_extraction", "envoy.filters.http.proto_message_extraction", "envoy.filters.http.grpc_json_reverse_transcoder"],
        release_date = "2024-06-25",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/grpc-ecosystem/proto-converter/blob/{version}/LICENSE",
    ),
    com_google_protofieldextraction = dict(
        project_name = "proto-field-extraction",
        project_desc = "Library that supports the extraction from protobuf binary",
        project_url = "https://github.com/grpc-ecosystem/proto-field-extraction",
        version = "d5d39f0373e9b6691c32c85929838b1006bcb3fb",
        sha256 = "cba864db90806515afa553aaa2fb3683df2859a7535e53a32cb9619da9cebc59",
        strip_prefix = "proto-field-extraction-{version}",
        urls = ["https://github.com/grpc-ecosystem/proto-field-extraction/archive/{version}.zip"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.grpc_json_transcoder", "envoy.filters.http.grpc_field_extraction", "envoy.filters.http.proto_message_extraction"],
        release_date = "2024-07-10",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/grpc-ecosystem/proto-field-extraction/blob/{version}/LICENSE",
    ),
    com_google_protoprocessinglib = dict(
        project_name = "proto_processing_lib",
        project_desc = "Library that provides utility functionality for proto field scrubbing",
        project_url = "https://github.com/grpc-ecosystem/proto_processing_lib",
        version = "11d825fb33f92eefcbacbd7b0db9eea8df6e8acb",
        sha256 = "fb687515a3673849d5b9c4cfe3b6dc50d878a028b8579e6f546b2357931da7cd",
        strip_prefix = "proto_processing_lib-{version}",
        urls = ["https://github.com/grpc-ecosystem/proto_processing_lib/archive/{version}.zip"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.grpc_json_transcoder", "envoy.filters.http.grpc_field_extraction", "envoy.filters.http.proto_message_extraction"],
        release_date = "2024-10-11",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/grpc-ecosystem/proto_processing_lib/blob/{version}/LICENSE",
    ),
    ocp = dict(
        project_name = "ocp",
        project_desc = "Libraries used in gRPC field extraction library",
        project_url = "https://github.com/opencomputeproject/ocp-diag-core",
        version = "e965ac0ac6db6686169678e2a6c77ede904fa82c",
        sha256 = "b83b8ea7a937ce7f5d6870421be8f9a5343e8c2de2bd2e269452981d67da1509",
        strip_prefix = "ocp-diag-core-{version}/apis/c++",
        urls = ["https://github.com/opencomputeproject/ocp-diag-core/archive/{version}.zip"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.grpc_field_extraction", "envoy.filters.http.proto_message_extraction"],
        release_date = "2023-05-05",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/opencomputeproject/ocp-diag-core/blob/{version}/LICENSE",
    ),
    io_bazel_rules_go = dict(
        project_name = "Go rules for Bazel",
        project_desc = "Bazel rules for the Go language",
        project_url = "https://github.com/bazelbuild/rules_go",
        version = "0.53.0",
        sha256 = "b78f77458e77162f45b4564d6b20b6f92f56431ed59eaaab09e7819d1d850313",
        urls = ["https://github.com/bazelbuild/rules_go/releases/download/v{version}/rules_go-v{version}.zip"],
        use_category = ["build", "api"],
        release_date = "2025-02-11",
        implied_untracked_deps = [
            "com_github_golang_protobuf",
            "io_bazel_rules_nogo",
            "org_golang_google_protobuf",
            "org_golang_x_tools",
        ],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_go/blob/v{version}/LICENSE.txt",
    ),
    rules_cc = dict(
        project_name = "C++ rules for Bazel",
        project_desc = "Bazel rules for the C++ language",
        project_url = "https://github.com/bazelbuild/rules_cc",
        version = "0.1.1",
        sha256 = "712d77868b3152dd618c4d64faaddefcc5965f90f5de6e6dd1d5ddcd0be82d42",
        release_date = "2025-02-07",
        strip_prefix = "rules_cc-{version}",
        urls = ["https://github.com/bazelbuild/rules_cc/releases/download/{version}/rules_cc-{version}.tar.gz"],
        use_category = [
            "build",
            "controlplane",
            "dataplane_core",
        ],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_cc/blob/{version}/LICENSE",
    ),
    rules_foreign_cc = dict(
        project_name = "Rules for using foreign build systems in Bazel",
        project_desc = "Rules for using foreign build systems in Bazel",
        project_url = "https://github.com/bazelbuild/rules_foreign_cc",
        version = "0.14.0",
        sha256 = "e0f0ebb1a2223c99a904a565e62aa285bf1d1a8aeda22d10ea2127591624866c",
        strip_prefix = "rules_foreign_cc-{version}",
        urls = ["https://github.com/bazelbuild/rules_foreign_cc/archive/{version}.tar.gz"],
        release_date = "2025-02-11",
        use_category = ["build", "dataplane_core", "controlplane"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_foreign_cc/blob/{version}/LICENSE",
    ),
    rules_java = dict(
        project_name = "Java rules for Bazel",
        project_desc = "Bazel rules for the Java language",
        project_url = "https://github.com/bazelbuild/rules_java/",
        version = "7.12.5",
        sha256 = "17b18cb4f92ab7b94aa343ce78531b73960b1bed2ba166e5b02c9fdf0b0ac270",
        release_date = "2025-03-25",
        urls = ["https://github.com/bazelbuild/rules_java/releases/download/{version}/rules_java-{version}.tar.gz"],
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_java/blob/{version}/LICENSE",
    ),
    rules_python = dict(
        project_name = "Python rules for Bazel",
        project_desc = "Bazel rules for the Python language",
        project_url = "https://github.com/bazelbuild/rules_python",
        version = "1.4.1",
        sha256 = "9f9f3b300a9264e4c77999312ce663be5dee9a56e361a1f6fe7ec60e1beef9a3",
        release_date = "2025-05-08",
        strip_prefix = "rules_python-{version}",
        urls = ["https://github.com/bazelbuild/rules_python/archive/{version}.tar.gz"],
        use_category = ["build", "controlplane", "dataplane_core"],
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_python/blob/{version}/LICENSE",
    ),
    rules_ruby = dict(
        # This is needed only to compile protobuf, not used in Envoy code
        project_name = "Ruby rules for Bazel",
        project_desc = "Bazel rules for the Ruby language",
        project_url = "https://github.com/protocolbuffers/rules_ruby",
        version = "37cf5900d0b0e44fa379c0ea3f5fcee0035d77ca",
        sha256 = "24ed42b7e06907be993b21be603c130076c7d7e49d4f4d5bd228c5656a257f5e",
        release_date = "2023-01-12",
        strip_prefix = "rules_ruby-{version}",
        urls = ["https://github.com/protocolbuffers/rules_ruby/archive/{version}.tar.gz"],
        use_category = ["build"],
        license = "Apache-2.0",
        license_url = "https://github.com/protocolbuffers/rules_ruby/blob/{version}/LICENSE",
    ),
    rules_pkg = dict(
        project_name = "Packaging rules for Bazel",
        project_desc = "Bazel rules for the packaging distributions",
        project_url = "https://github.com/bazelbuild/rules_pkg",
        version = "1.1.0",
        sha256 = "0faf28467ed9bf881d8b58084d1a512a82df74bbb5182c806166d0d26b239fa4",
        strip_prefix = "rules_pkg-{version}",
        urls = ["https://github.com/bazelbuild/rules_pkg/archive/{version}.tar.gz"],
        use_category = ["build"],
        release_date = "2025-03-12",
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_pkg/blob/{version}/LICENSE",
    ),
    rules_shell = dict(
        project_name = "Shell script rules for Bazel",
        project_desc = "Bazel rules for shell scripts",
        project_url = "https://github.com/bazelbuild/rules_shell",
        version = "0.4.0",
        sha256 = "3e114424a5c7e4fd43e0133cc6ecdfe54e45ae8affa14fadd839f29901424043",
        strip_prefix = "rules_shell-{version}",
        urls = ["https://github.com/bazelbuild/rules_shell/releases/download/v{version}/rules_shell-v{version}.tar.gz"],
        use_category = ["build"],
        release_date = "2025-01-30",
        license = "Apache-2.0",
        license_url = "https://github.com/protocolbuffers/rules_shell/blob/{version}/LICENSE",
    ),
    com_github_wamr = dict(
        project_name = "Webassembly Micro Runtime",
        project_desc = "A standalone runtime with a small footprint for WebAssembly",
        project_url = "https://github.com/bytecodealliance/wasm-micro-runtime",
        version = "WAMR-2.2.0",
        sha256 = "93b6ba03f681e061967106046b1908631ee705312b9a6410f3baee7af7c6aac9",
        strip_prefix = "wasm-micro-runtime-{version}",
        urls = ["https://github.com/bytecodealliance/wasm-micro-runtime/archive/{version}.tar.gz"],
        release_date = "2024-10-22",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wamr"],
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/bytecodealliance/wasm-micro-runtime/blob/{version}/LICENSE",
    ),
    com_github_wasmtime = dict(
        project_name = "wasmtime",
        project_desc = "A standalone runtime for WebAssembly",
        project_url = "https://github.com/bytecodealliance/wasmtime",
        version = "24.0.2",
        sha256 = "76a5eedf3d57de8a97492006cfa9c2c5eedf81ad82ba173f0615e85695cecdf7",
        strip_prefix = "wasmtime-{version}",
        urls = ["https://github.com/bytecodealliance/wasmtime/archive/v{version}.tar.gz"],
        release_date = "2024-11-05",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wasmtime"],
        cpe = "cpe:2.3:a:bytecodealliance:wasmtime:*",
        license = "Apache-2.0",
        license_url = "https://github.com/bytecodealliance/wasmtime/blob/v{version}/LICENSE",
    ),
    v8 = dict(
        project_name = "V8",
        project_desc = "Google’s open source high-performance JavaScript and WebAssembly engine, written in C++",
        project_url = "https://v8.dev",
        # NOTE: Update together with com_googlesource_chromium_base_trace_event_common.
        # Patch contains workaround for https://github.com/bazelbuild/rules_python/issues/1221
        version = "10.7.193.13",
        # Static snapshot created using https://storage.googleapis.com/envoyproxy-wee8/wee8-fetch-deps.sh.
        sha256 = "2170df76ce5d7ecd7fb8d131370d210152f200273cba126f06d8b88fb53c9fbc",
        urls = ["https://storage.googleapis.com/envoyproxy-wee8/v8-{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.v8"],
        release_date = "2022-10-12",
        cpe = "cpe:2.3:a:google:v8:*",
    ),
    com_googlesource_chromium_base_trace_event_common = dict(
        project_name = "Chromium's trace event headers",
        project_desc = "Chromium's trace event headers",
        project_url = "https://chromium.googlesource.com/chromium/src/base/trace_event/common/",
        # NOTE: Update together with v8.
        # Use version and sha256 from https://storage.googleapis.com/envoyproxy-wee8/v8-<v8_version>-deps.sha256.
        version = "521ac34ebd795939c7e16b37d9d3ddb40e8ed556",
        # Static snapshot created using https://storage.googleapis.com/envoyproxy-wee8/wee8-fetch-deps.sh.
        sha256 = "d99726bd452d1dd6cd50ab33060774e8437d9f0fc6079589f657fe369c66ec09",
        urls = ["https://storage.googleapis.com/envoyproxy-wee8/chromium-base_trace_event_common-{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.v8"],
        release_date = "2022-10-12",
        cpe = "N/A",
    ),
    com_github_google_quiche = dict(
        project_name = "QUICHE",
        project_desc = "QUICHE (QUIC, HTTP/2, Etc) is Google‘s implementation of QUIC and related protocols",
        project_url = "https://github.com/google/quiche",
        version = "c142f13df5a0955005e90db6f1bd6a5820406942",
        sha256 = "a3d58bc422fd0dbcce79e43e8de63cac245eb4c4ad7ca34f8f845b77f6850918",
        urls = ["https://github.com/google/quiche/archive/{version}.tar.gz"],
        strip_prefix = "quiche-{version}",
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2025-05-13",
        cpe = "N/A",
        license = "BSD-3-Clause",
        license_url = "https://github.com/google/quiche/blob/{version}/LICENSE",
    ),
    com_googlesource_googleurl = dict(
        project_name = "Chrome URL parsing library",
        project_desc = "Chrome URL parsing library",
        project_url = "https://quiche.googlesource.com/googleurl",
        version = "dd4080fec0b443296c0ed0036e1e776df8813aa7",
        sha256 = "fc694942e8a7491dcc1dde1bddf48a31370a1f46fef862bc17acf07c34dc6325",
        # Static snapshot of https://quiche.googlesource.com/googleurl/+archive/dd4080fec0b443296c0ed0036e1e776df8813aa7.tar.gz
        urls = ["https://storage.googleapis.com/quiche-envoy-integration/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        extensions = [],
        release_date = "2022-11-03",
        cpe = "N/A",
        license = "googleurl",
        license_url = "https://quiche.googlesource.com/googleurl/+/{version}/LICENSE",
    ),
    com_google_cel_cpp = dict(
        project_name = "Common Expression Language (CEL) C++ library",
        project_desc = "Common Expression Language (CEL) C++ library",
        project_url = "https://opensource.google/projects/cel",
        version = "0.10.0",
        sha256 = "dd06b708a9f4c3728e76037ec9fb14fc9f6d9c9980e5d5f3a1d047f3855a8b98",
        strip_prefix = "cel-cpp-{version}",
        urls = ["https://github.com/google/cel-cpp/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.extension_filters.cel",
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.rate_limit_descriptors.expr",
            "envoy.filters.http.ext_proc",
            "envoy.filters.http.rate_limit_quota",
            "envoy.filters.http.rbac",
            "envoy.filters.http.wasm",
            "envoy.filters.network.rbac",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.formatter.cel",
            "envoy.matching.inputs.cel_data_input",
            "envoy.matching.matchers.cel_matcher",
            "envoy.tracers.opentelemetry",
            "envoy.tracers.opentelemetry.samplers.cel",
        ],
        release_date = "2024-10-25",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/google/cel-cpp/blob/v{version}/LICENSE",
    ),
    com_github_google_flatbuffers = dict(
        project_name = "FlatBuffers",
        project_desc = "FlatBuffers is a cross platform serialization library architected for maximum memory efficiency",
        project_url = "https://github.com/google/flatbuffers",
        version = "25.2.10",
        sha256 = "b9c2df49707c57a48fc0923d52b8c73beb72d675f9d44b2211e4569be40a7421",
        strip_prefix = "flatbuffers-{version}",
        urls = ["https://github.com/google/flatbuffers/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.extension_filters.cel",
            "envoy.access_loggers.wasm",
            "envoy.formatter.cel",
            "envoy.bootstrap.wasm",
            "envoy.rate_limit_descriptors.expr",
            "envoy.filters.http.ext_proc",
            "envoy.filters.http.rate_limit_quota",
            "envoy.filters.http.rbac",
            "envoy.filters.http.wasm",
            "envoy.filters.network.rbac",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.rbac.matchers.upstream_ip_port",
            "envoy.matching.inputs.cel_data_input",
            "envoy.matching.matchers.cel_matcher",
            "envoy.tracers.opentelemetry",
            "envoy.tracers.opentelemetry.samplers.cel",
        ],
        release_date = "2025-02-11",
        cpe = "cpe:2.3:a:google:flatbuffers:*",
        license = "Apache-2.0",
        license_url = "https://github.com/google/flatbuffers/blob/v{version}/LICENSE",
    ),
    com_googlesource_code_re2 = dict(
        project_name = "RE2",
        project_desc = "RE2, a regular expression library",
        project_url = "https://github.com/google/re2",
        version = "2023-11-01",
        sha256 = "4e6593ac3c71de1c0f322735bc8b0492a72f66ffccfad76e259fa21c41d27d8a",
        strip_prefix = "re2-{version}",
        urls = ["https://github.com/google/re2/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2023-10-31",
        cpe = "N/A",
        license = "BSD-3-Clause",
        license_url = "https://github.com/google/re2/blob/{version}/LICENSE",
    ),
    # Included to access FuzzedDataProvider.h. This is compiler agnostic but
    # provided as part of the compiler-rt source distribution. We can't use the
    # Clang variant as we are not a Clang-LLVM only shop today.
    org_llvm_releases_compiler_rt = dict(
        project_name = "compiler-rt",
        project_desc = "LLVM compiler runtime library",
        project_url = "https://compiler-rt.llvm.org",
        # Note: the llvm/clang version should match the version specified in:
        #  - .github/workflows/codeql-daily.yml
        #  - .github/workflows/codeql-push.yml
        #  - https://github.com/envoyproxy/envoy-build-tools/blob/main/build_container/build_container_ubuntu.sh#L84
        version = "18.1.8",
        sha256 = "e054e99a9c9240720616e927cb52363abbc8b4f1ef0286bad3df79ec8fdf892f",
        # Only allow peeking at fuzzer related files for now.
        strip_prefix = "compiler-rt-{version}.src",
        urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/compiler-rt-{version}.src.tar.xz"],
        release_date = "2024-06-19",
        use_category = ["test_only"],
        cpe = "cpe:2.3:a:llvm:compiler-rt:*",
        license = "Apache-2.0",
        license_url = "https://github.com/llvm/llvm-project/blob/llvmorg-{version}/compiler-rt/LICENSE.TXT",
    ),
    kafka_source = dict(
        project_name = "Kafka (source)",
        project_desc = "Open-source distributed event streaming platform",
        project_url = "https://kafka.apache.org",
        version = "3.8.0",
        sha256 = "8761a0c22738201d3049f11f78c8e6c0f201203ba799157e498ef7eb04c259f3",
        strip_prefix = "kafka-{version}/clients/src/main/resources/common/message",
        urls = ["https://github.com/apache/kafka/archive/{version}.zip"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.network.kafka_broker", "envoy.filters.network.kafka_mesh"],
        release_date = "2024-07-23",
        cpe = "cpe:2.3:a:apache:kafka:*",
        license = "Apache-2.0",
        license_url = "https://github.com/apache/kafka/blob/{version}/LICENSE",
    ),
    confluentinc_librdkafka = dict(
        project_name = "Kafka (C/C++ client)",
        project_desc = "C/C++ client for Apache Kafka (open-source distributed event streaming platform)",
        project_url = "https://github.com/confluentinc/librdkafka",
        version = "2.6.0",
        sha256 = "abe0212ecd3e7ed3c4818a4f2baf7bf916e845e902bb15ae48834ca2d36ac745",
        strip_prefix = "librdkafka-{version}",
        urls = ["https://github.com/confluentinc/librdkafka/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.network.kafka_mesh"],
        release_date = "2024-10-10",
        cpe = "N/A",
        license = "librdkafka",
        license_url = "https://github.com/confluentinc/librdkafka/blob/v{version}/LICENSE",
    ),
    kafka_server_binary = dict(
        project_name = "Kafka (server binary)",
        project_desc = "Open-source distributed event streaming platform",
        project_url = "https://kafka.apache.org",
        version = "3.8.0",
        sha256 = "e0297cc6fdb09ef9d9905751b25d2b629c17528f8629b60561eeff87ce29099c",
        strip_prefix = "kafka_2.13-{version}",
        urls = ["https://downloads.apache.org/kafka/{version}/kafka_2.13-{version}.tgz"],
        release_date = "2024-07-23",
        use_category = ["test_only"],
    ),
    proxy_wasm_cpp_sdk = dict(
        project_name = "WebAssembly for Proxies (C++ SDK)",
        project_desc = "WebAssembly for Proxies (C++ SDK)",
        project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-sdk",
        version = "dc4f37efacd2ff7bf2e8f36632f22e1e99347f3e",
        sha256 = "487aef94e38eb2b717eb82aa5e3c7843b7da0c8b4624a5562c969050a1f3fa33",
        strip_prefix = "proxy-wasm-cpp-sdk-{version}",
        urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.filters.http.wasm",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.wasm.runtime.null",
            "envoy.wasm.runtime.v8",
            "envoy.wasm.runtime.wamr",
            "envoy.wasm.runtime.wasmtime",
        ],
        release_date = "2024-08-05",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/blob/{version}/LICENSE",
    ),
    proxy_wasm_cpp_host = dict(
        project_name = "WebAssembly for Proxies (C++ host implementation)",
        project_desc = "WebAssembly for Proxies (C++ host implementation)",
        project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-host",
        version = "c4d7bb0fda912e24c64daf2aa749ec54cec99412",
        sha256 = "3ea005e85d2b37685149c794c6876fd6de7f632f0ad49dc2b3cd580e7e7a5525",
        strip_prefix = "proxy-wasm-cpp-host-{version}",
        urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-host/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.filters.http.wasm",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.wasm.runtime.null",
            "envoy.wasm.runtime.v8",
            "envoy.wasm.runtime.wamr",
            "envoy.wasm.runtime.wasmtime",
        ],
        release_date = "2024-12-19",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-host/blob/{version}/LICENSE",
    ),
    proxy_wasm_rust_sdk = dict(
        project_name = "WebAssembly for Proxies (Rust SDK)",
        project_desc = "WebAssembly for Proxies (Rust SDK)",
        project_url = "https://github.com/proxy-wasm/proxy-wasm-rust-sdk",
        version = "0.2.2",
        sha256 = "3d9e8f39f0356016c8ae6c74c0224eae1b44168be0ddf79e387d918a8f2cb4c6",
        strip_prefix = "proxy-wasm-rust-sdk-{version}",
        urls = ["https://github.com/proxy-wasm/proxy-wasm-rust-sdk/archive/v{version}.tar.gz"],
        use_category = ["test_only"],
        release_date = "2024-07-21",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/proxy-wasm/proxy-wasm-rust-sdk/blob/v{version}/LICENSE",
    ),
    emsdk = dict(
        project_name = "Emscripten SDK",
        project_desc = "Emscripten SDK (use by Wasm)",
        project_url = "https://github.com/emscripten-core/emsdk",
        version = "3.1.67",
        sha256 = "0cb0eabd6e3ceb1a970a2363e67f2b1689c2d83fbeae1e75901213c1f84de2e2",
        strip_prefix = "emsdk-{version}/bazel",
        urls = ["https://github.com/emscripten-core/emsdk/archive/refs/tags/{version}.tar.gz"],
        use_category = ["test_only"],
        release_date = "2024-09-17",
        license = "Emscripten SDK",
        license_url = "https://github.com/emscripten-core/emsdk/blob/{version}/LICENSE",
    ),
    # After updating you may need to run:
    #
    #     CARGO_BAZEL_REPIN=1 bazel sync --only=crate_index
    #
    rules_rust = dict(
        project_name = "Bazel rust rules",
        project_desc = "Bazel rust rules (used by Wasm)",
        project_url = "https://github.com/bazelbuild/rules_rust",
        version = "0.56.0",
        sha256 = "f1306aac0b258b790df01ad9abc6abb0df0b65416c74b4ef27f4aab298780a64",
        # Note: rules_rust should point to the releases, not archive to avoid the hassle of bootstrapping in crate_universe.
        # This is described in https://bazelbuild.github.io/rules_rust/crate_universe.html#setup, otherwise bootstrap
        # is required which in turn requires a system CC toolchains, not the bazel controlled ones.
        urls = ["https://github.com/bazelbuild/rules_rust/releases/download/{version}/rules_rust-{version}.tar.gz"],
        use_category = [
            "controlplane",
            "dataplane_core",
            "dataplane_ext",
        ],
        extensions = ["envoy.wasm.runtime.wasmtime"],
        release_date = "2024-12-16",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_rust/blob/{version}/LICENSE.txt",
    ),
    com_github_fdio_vpp_vcl = dict(
        project_name = "VPP Comms Library",
        project_desc = "FD.io Vector Packet Processor (VPP) Comms Library",
        project_url = "https://fd.io/",
        version = "39e7f2e650a65bac596a6fc968c9860a1496a5bf",
        sha256 = "63742d09ac223b30d71d9fe2da5afb75253fde31e3cf986a3f9ce89e264e801a",
        strip_prefix = "vpp-{version}",
        urls = ["https://github.com/FDio/vpp/archive/{version}.tar.gz"],
        use_category = ["other"],
        extensions = ["envoy.bootstrap.vcl"],
        release_date = "2024-03-13",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/FDio/vpp/blob/{version}/LICENSE",
    ),
    intel_dlb = dict(
        project_name = "Intel Dlb",
        project_desc = "Dlb",
        project_url = "https://networkbuilders.intel.com/solutionslibrary/queue-management-and-load-balancing-on-intel-architecture",
        version = "8.8.0",
        sha256 = "564534254ef32bfed56e0a464c53fca0907e446b30929c253210e2c3d6de58b9",
        urls = ["https://downloadmirror.intel.com/819078/dlb_linux_src_release_8.8.0.txz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.network.connection_balance.dlb"],
        release_date = "2023-12-15",
        cpe = "N/A",
    ),
    libpfm = dict(
        project_name = "libpfm",
        project_desc = "A helper library to develop monitoring tools",
        project_url = "https://sourceforge.net/projects/perfmon2",
        version = "4.11.0",
        sha256 = "5da5f8872bde14b3634c9688d980f68bda28b510268723cc12973eedbab9fecc",
        strip_prefix = "libpfm-{version}",
        use_category = ["test_only"],
        urls = ["https://downloads.sourceforge.net/project/perfmon2/libpfm4/libpfm-{version}.tar.gz"],
        release_date = "2020-09-03",
    ),
    rules_license = dict(
        project_name = "rules_license",
        project_desc = "Bazel rules for checking open source licenses",
        project_url = "https://github.com/bazelbuild/rules_license",
        version = "1.0.0",
        sha256 = "26d4021f6898e23b82ef953078389dd49ac2b5618ac564ade4ef87cced147b38",
        urls = ["https://github.com/bazelbuild/rules_license/releases/download/{version}/rules_license-{version}.tar.gz"],
        use_category = ["build", "dataplane_core", "controlplane"],
        release_date = "2024-09-05",
        cpe = "N/A",
        license = "Apache-2.0",
        license_url = "https://github.com/bazelbuild/rules_license/blob/{version}/LICENSE",
    ),
    com_github_maxmind_libmaxminddb = dict(
        project_name = "maxmind_libmaxminddb",
        project_desc = "C library for reading MaxMind DB files",
        project_url = "https://github.com/maxmind/libmaxminddb",
        version = "1.12.2",
        sha256 = "1bfbf8efba3ed6462e04e225906ad5ce5fe958aa3d626a1235b2a2253d600743",
        strip_prefix = "libmaxminddb-{version}",
        urls = ["https://github.com/maxmind/libmaxminddb/releases/download/{version}/libmaxminddb-{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.geoip_providers.maxmind"],
        release_date = "2025-01-10",
        cpe = "cpe:2.3:a:maxmind:libmaxminddb:*",
        license = "Apache-2.0",
        license_url = "https://github.com/maxmind/libmaxminddb/blob/{version}/LICENSE",
    ),
    com_github_lz4_lz4 = dict(
        project_name = "LZ4",
        project_desc = "Extremely Fast Compression algorithm",
        project_url = "http://www.lz4.org/",
        version = "1.10.0",
        sha256 = "537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b",
        strip_prefix = "lz4-{version}",
        urls = ["https://github.com/lz4/lz4/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        release_date = "2024-07-22",
        extensions = ["envoy.compression.qatzip.compressor"],
        cpe = "N/A",
    ),
)

def _compiled_protoc_deps(locations, versions):
    for platform, sha in versions.items():
        locations["com_google_protobuf_protoc_%s" % platform] = dict(
            project_name = "Protocol Buffers (protoc) %s" % platform,
            project_desc = "Protoc compiler for protobuf (%s)" % platform,
            project_url = "https://developers.google.com/protocol-buffers",
            version = PROTOBUF_VERSION,
            sha256 = sha,
            urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-%s.zip" % platform.replace("_", "-", 1)],
            use_category = ["dataplane_core", "controlplane"],
            release_date = "2025-01-08",
            cpe = "N/A",
            license = "Protocol Buffers",
            license_url = "https://github.com/protocolbuffers/protobuf/blob/v{version}/LICENSE",
        )

_compiled_protoc_deps(REPOSITORY_LOCATIONS_SPEC, PROTOC_VERSIONS)
